Motion estimation is often required in video indexing, stabilization, and analysis applications. Block motion estimation is one common technique that involves locating a set of adjacent pixels (i.e., a “block” of pixels) from one frame in a subsequent frame. (Such blocks are sometimes also referred to as “feature blocks” because they are typically selected to include portions of a frame having strong two-dimensional features.) Vectors can be used to describe the movement of blocks from one frame to another. By combining vectors associated with a plurality of blocks, a “global” motion vector for the frame can be determined. A block motion estimation technique is described, for example, in U.S. application Ser. No. 12/046,860 assigned to Micron Technology, Inc.
Prior art block motion estimation techniques suffer from noise in the form of false motion vectors (i.e., motion vectors that incorrectly describe the movement of a respective block from one frame to another), which reduce global motion estimation accuracy. Therefore, a more reliable motion estimation method and associated system are desirable to reduce the impact of image noise and false motion vectors on global motion estimation accuracy.